#pragma once

#include <QPainter>
#include <QWidget>

// 图片控件
class PictureCtrl: public QWidget {
    Q_OBJECT

    signals: void UM_PICTURE_CTRL_CLICK(QWidget*);  // 图片控件的单击事件

    private: QPainter mDrawer;          // 绘图者
    private: bool mHasBorder;           // 有边框则为 true，否则为 false
    private: QImage mImage;             // 图片
    private: QPoint mOriginalPosition;  // 原位置，即刚被创建时的初始位置
    private: QPen mPenLeftTop1;         // 左边、上边框画笔（外框）
    private: QPen mPenLeftTop2;         // 左边、上边框画笔（内框）
    private: QPen mPenRightBottom1;     // 右边、下边框画笔（外框）
    private: QPen mPenRightBottom2;     // 右边、下边框画笔（内框）

    public: explicit PictureCtrl(bool, QImage*, QWidget*, QRect*);
    private: void drawEdge();
    public: bool isOnOriginalPosition();
    private: void mouseReleaseEvent(QMouseEvent*);
    private: void paintEvent(QPaintEvent*);
    public: void setBorder(bool);
};
